// pages/menu/searchDetails/searchDetails.js
// 搜索详情页-逻辑层


/**
 * 引入公共方法(utils.js)
 * - 函数节流
 * - 函数防抖
 */ 
import util from '../../../utils/util'

Page({


  /**
   * 页面的初始数据
   */
  data:
  {

  //+++++++++++++++ 搜索框相关 +++++++++++
  
  // 搜索内容框是否显示(最外层)
  // 只要输入框中有字符就会显示
  content_isDisplay:false, 

  // 搜索内容列表显示(有结果)
  result_isDisplay: false,

  // 搜索空状态(无结果)
  noResults_isDisplay: true, 

  hotSearch: [//热门搜索
    {
      name:'糖醋里脊'
    },
    {
      name:'秘制黄焖鸡米饭'
    },
    {
      name:'香辣鸡排'
    },
    {
      name:'麻辣烫'
    },
    {
      name:'自制儿时大辣片'
    },
    {
      name:'鱿鱼丝'
    },
    {
      name:'碳烤鸡翅'
    },
    {
      name:'串串香'
    },
    {
      name:'龙利鱼拌饭'
    },
    {
      name:'泡芙奶泡'
    },
    
  ],
  
  historySearch: [//历史搜索
    {
      name:'排骨'
    },
    {
      name:'海带'
    },
  ]
  
  //+++++++++++++++++++++ END +++++++++++++++
  },



  //+++++++++++++++ 搜索框(事件监听) +++++++++++

  /**
   * 用户点击键盘上的搜索按钮触发
   * - 已函数节流(2s内无法重复点击)
   * - 注意：事件对象已改变
   * @param $fn 需要节流的函数
   * @param $interval 间隔时间
   * @return void
   */
  onSearch: util.throttle(function(e)
  {

    // 获取当前输入值
    let value = e[0].detail

    // 业务逻辑
    console.log(value)

  }, 2000),




  /**
   * 用户点击搜索框右侧取消按钮时触发
   * - 已函数节流(2s内无法重复点击)
   * @param $fn 需要节流的函数
   * @param $interval 间隔时间
   * @return void
   */
  onCancel: util.throttle(function()
  {

    // 用户取消(返回点餐页)
    wx.navigateBack({
      delta:-1
    })

  }, 2000),




  /**
   * 用户输入内容变化时触发(已函数防抖)
   * @param $fn 需要防抖的函数
   * @param $interval 间隔时间(默认1秒)
   * @return void
   */
  onChange: util.debounce(function(e)
  {
    
    /**
     * [交互反馈]提示用户数据加载中
     */wx.hideLoading()
    wx.showLoading({
      title: '美食来袭中...',
      mask: true
    })

    // 获取当前输入值
    let value = e[0].detail

    // 业务逻辑
    console.log(value)

    /**
     * [请求]检索是否有结果
     * 根据结果判断要显示与隐藏dom元素
     */

    // 有结果
    if(value == '哈哈')
    {
      this.setData({
        content_isDisplay: true,//无条件显示
        result_isDisplay: true//显示结果
      })
    }
    // 内容为空
    else if(value == '')
    {
      this.setData({
        content_isDisplay: false,//无条件显示
        result_isDisplay: false,//显示结果
        noResults_isDisplay: true,
      })
    }

    // 无结果
    else
    {
      this.setData({
        content_isDisplay: true,//无条件显示
        noResults_isDisplay: true//显示结果
      })
    }

    /**
     * [交互反馈]提示用户数据加载完毕
     */
    wx.hideLoading()


  }),

  //++++++++++++++++++++ EDN ++++++++++++++++++








  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options)
  {
    
  },



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function()
  {

  },



  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function()
  {

  },



  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function()
  {

  },



  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function()
  {

  },



  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function()
  {

  },



  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function()
  {

  },



  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function()
  {

  }

})